خرید بک لینک

 اصول نوشتن صفحات HTML

در اینجا می خواهیم به ساختار شناسه ها یا همان تگها (tag) در HTML بپردازیم. یک تگ همیشه با علامت کوچکتر ریاضی یعنی این علامت > آغاز می شود و با علامت بزرگتر < به پایان می رسد. مثلاً تگی که باعث ایجاد زیرخط کلمات می شود اینطور نوشته می شود: <U> این علامت را قبل از متنی که می خواهیم زیر آن خط کشیده شود قرار می دهیم. به این تگ ، تگ ابتدایی (Opening tag) می گویند، که عملیاتی را که شما می خواهید آغاز کنید شروع می کند. به منظور پایان دادن به زیرخط باید از یک تگ پایانی استفاده کنید. یک تگ پایانی با این علامت شروع می شود: />  بقیه تگ مانند تگ ابتدایی می باشد. برای درک بهتر این مطلب به مثال زیر توجه کنید:
 
Tags and their position
اگر بخواهید متن بالا را با زیرخط در مرورگر طراحی وب سایت  خود ببینید باید آنرا مطابق خط روبرو در ویرایشگر متن خود بنویسید:
 
<u>tags and their position</u>
نتیجه را به این صورت می بینید:
 
Tags and their position
 
در HTML همه تگها به یک تگ پایانی نیاز ندارند. برای مثال تگی که برای وارد کردن عکس  طراحی وب سایت  استفاده می شود  از این قبیل تگهاست، که به این صورت می باشد:
 
<img src="myimage.gif">
البته بعداً در مورد این تگ توضیح خواهیم داد در اینجا فقط برای مثال این تگ را آوردیم. موارد دیگری هم با این وضعیت وجود دارند مثلاً <br> که برای رفتن به خط بعدی استفاده می شود،  که برای ایجاد یک خط افقی به کار می رود و <p> که برای رفتن به پاراگراف بعدی استفاده می شود.
 
در ضمن نیاز نیست که حتماً تگها با حروف بزرگ نوشته شوند. مثلاً همان است. البته در نسخه های جدیدتر  توصیه می شود کدهای با حروف کوچک نوشته در   هم نوشتن کدها با حروف کوچک الزامی است. فضای خالی هم بین تگها تأثیری ندارد. مثلاً :
 
          متن زیرخط دار   طراحی وب سایت      
کد بالا همان نتیجه ای را می دهد که کد زیر دارد:
 
 متن زیرخط دار 
به این طریق هم اگر نوشته شود فرقی نمی کند:
 
 
متن زیرخط دار
 
قالب پایه ای یک فایل   طراحی وب سایت   مانند زیر است. ببینید می توانید کاری را که تگهای این کد انجام می دهند حدس بزنید؟ البته همه آنها را بعداً توضیح می دهیم.
 
 
 
<body>
هر چیزی که اینجا قرار گیرد در صفحه شما قابل دیدن است
</body>
 
برای درک بهتر این قسمت سعی کنید تگها را به صورت جفتی در نظر بگیرید (از جایی که باز می شوند تا جایی که بسته می شوند) اولین تگ > است که علامت شروع یک متن  است و تگ پایان/ ست که همانطور که ممکن است حدس زده باشید نشانه پایان متن  است. هر چیزی  باید بین این دو تگ قرار گیرد. مانند متن، دیگر تگها، عکسها و... چون این دو تگ نشان دهنده آغاز و پایان صفحه شما هستند.
 
تگ بعدی  است. این تگ مشخص کننده بخشی است که شما باید عنوان صفحه  طراحی وب سایت ، کلمات کلیدی، و دیگر توضیحات خود برای این صفحه را در آن قرار دهید. این بخش با <head/> به پایان می رسد. در مثال بالا تنها قسمت HEAD عنوان صفحه بود که با TITLE مشخص می شود.
 
تگ  شما اجازه می دهد برای صفحه خود یک عنوان برگزینید. این قسمت مورد استفاده موتورهای جستجو قرار می گیرد و همان متنی است که به هنگام مشاهده صفحه در نوار عنوان مرورگر نشان داده می شود. تا هنگامی که این تگ در قسمت BODY قرار نگیرد در متن شما نشان داده نمی شود. برای پایان دادن به تگ عنوان از این تگ استفاده می شود:  در مثال بالا عنوانی که برای صفحه نشان داده می شود قالب اصلی L است.
 
تگ <body> بخشی را آغاز می کند که در صفحه مرورگر شما به نمایش در می آید. این قسمت جایی است که ما باید کار اصلی خود را در آن انجام دهیم. برای پایان دادن به این تگ از <body/> استفاده می کنیم. در مثال بالا متنی که در صفحه مرورگر  طراحی وب سایت  دیده می شود به صورت زیر است (البته در اینجا برای نوشته زیر رنگ و فونت نیز انتخاب شده که در قسمتهای بعد به آنها خواهیم پرداخت) :
 
هر چیزی که اینجا قرار گیرد در صفحه شما قابل دیدن است
 
چیزی که در اینجا می بینیم متنی است که به صورت ساده نوشته شده و در طرف چپ صفحه قرار دارد.
 
در درس بعد در مورد چگونگی کار کردن با متنها بحث می کنیم.
 

برچسب: طراحی وب سایت,طراحی سایت,طراحی وب, نویسنده: mehdi تاريخ: سه شنبه 28 خرداد 1392 ساعت: 12:50

  طراحی وب سایت  با استفاده از HTML

HTML مخفف "HyperText Markup Language" است. HTML زبانی است که از آن برای نوشتن صفحات وب ایستا (استاتیک) استفاده می شود. این زبان برای مشخص کردن عناصر مختلف صفحه از یک سری تگ (برچسب) استفاده می شود. برای مثال برای اینکه یک تصویر را وارد صفحه کنیم از برچسب <img> استفاده می کنیم و برای مشخص کردن یک پاراگراف متن مورد نظر خود را بین تگ <p> و <p/> قرار می دهیم. بدین وسیله مرورگر اینترنت می تواند عناصر مختلف صفحه را شناسایی کند و آنها را نمایش دهد. مرورگرهای اینترنت کدهای HTML را دریافت می کنند و پس از تفسیر آنها را به صورت یک صفحه وب به نمایش در می آورند.

نوشتن صفحات طراحی وب سایت HTML لزوماً به برنامه خاصی احتیاج ندارد. حتی با استفاده از NotePad در ویندوز هم می توانید صفحات مورد نظر خود را طراحی کنید. صرف نظر از برنامه ای که از آن برای  طراحی وب سایت  خود کمک می گیرید آشنایی شما با HTML می تواند تا حد بسیار زیادی در کیفیت صفحات تأثیر بگذارد.


برچسب: طراحی وب سایت,طراحی سایت,طراحی وب, نویسنده: mehdi تاريخ: دوشنبه 27 خرداد 1392 ساعت: 14:30

 مقايسه اي بر PHP و ASP.NET

 

به نظرم مهم است که يک برنامه نويس و توسعه دهنده نرم افزار به زبانها و پلاتفرمهاي توسعه نرم افزار صرفا به عنوان يک ابزار نگاه کند و براساس نيازهاي کمپاني يا تيم نرم افزاري و نيازهاي نرم افزار پلاتفرم و ابزارهاي لازم را انتخاب کنند. مباحثي مثل علاقه شديد به مايکروسافت يا ضديت با آن به نظرم شيوه حرفه اي و درستي براي انتخاب ابزارهاي طراحی وب سایت و توسعه نرم افزار نيست. اين روزها در ايران مقايسه و انتخاب دو زبان و تکنولوژي خاص يعني PHP و ASP.NET بحث داغي هستند و البته با گذشت زمان تقريبا هر گروه (بيشتر براساس سياست شرکتهايي که در آن کار ميکنند) يکي از اين تکنولوژي ها را به عنوان ابزار اصلي توسعه نرم افزار و سايتها انتخاب کرده است. بارها از من پرسيده شده است که کداميک از اين زبانها طراحی وب سایت انتخاب بهتري است و دلايل آن چيست؟ به عنوان برنامه نويسيکه در سالهاي قبل علاوه بر ASP با زبان PHP نيز کار مي کردم و در اين زمينه مقاله، سمينار معرفي کوچکي و فعاليتهاي در انجمن سابق ايران PHP (مانند تابع سورت فارسي) داشته ام و همچنين در سالهاي اخير نيز عموما از ASP.NET استفاده کردم و براساس تجربه و اطلاعات شخصي مقايسه مختصري درباره اين زبانها را ادامه خواهم داشت.

 

پي اچ پي PHP

 

زبان PHP با هدف نوشتن اسکريپتهاي وب نوشته شد. در واقع هدف فرار از پيچيدگيهاي Perl و نوشتن CGI با زبانهايي مثل C و ارائه دستوراتي ساده براي طراحان صفحات وب بود.پي اچ پي اوليه زباني با دستورات محدود و ساده بود که بيشتر براي کارهاي ساده و براي طراحان وب سايتها و نه برنامه نويسان حرفه اي بود. اين زبان کم کم پيشرفت کرد و بخصوص Open Source بودن آن باعث شد تسريع اين حرکت شد. در مرحله اول تعداد دستورات و توابع اين زبان گسترش پيدا کرد بطوريکه امروز نيز براحتي کارهاي نسبت پيچيده اي (مثل کار با سوکتها يا تصاوير) با توابع اين زبان قابل اجراست.همچنين از لحاظ معماري اين زبان طراحی وب سایت با پشتيباني از شي گرايي پيشرفت مهم ديگري داشته است. پي اچ پي به طور کلي يکي از زبانهاي معمول براي نوشتن اسکريپتهاي اجرايي در محيط يونيکس ، لينوکس (هرچند که در ويندوز نيز به خوبي اجرا مي شود) و کار با نرم افزار مديريت بانک اطلاعات MySQL است.

 

تکنولوژي ASP.NET

 

دات نت نسل جديدي از ابزارهاي توسعه مايکروسافت است. دات نت فقط يک زبان نيست و در واقع يک فريم ورک يا پلاتفرم براي توسعه و اجراي نرم افزار است.دات نت شباهت زيادي با پلاتفرم جاوا دارد و در واقع در رقابت با اوست. ASP.NET نيز نسل جديدي از ASP کلاسيک در بستر دات نت است و از اين جهت پيشرفت بسيار زيادي نسبت به ASP کلاسيک شاهد هستيم.با ASP.NET و با وجود کتابخانه غني توابع و کلاسهاي دات نت تقريبا هر کاري در وب امکان پذير است. اگر چه مايکروسافت در معماري دات نت هدف اجرا در پلاتفرمها و سيستم عاملهاي مختلف را مد نظر داشته است اما حداقل تاکنون ميتوان دات نت را يک ابزار توسعه در سيستم عامل ويندوز دانست. البته پروژه هايي براي شبيه سازي و انتقال دات نت به محيط لينوکس نيز وجود دارد که مهمترين آنها پروژه Mono است که پيشرفت قابل توجهي داشته است.انتظار مي رود در آينده نزديک ASP.NET در هر سيستم عامل و پلاتفرمي طراحی وب سایت قابل اجرا باشد.

 

سيستم عامل

 

اگرچه اصولا انتخاب ابزار توسعه نرم افزار ارجحيت بيشتري بر انتخاب سيستم عامل دارد اما در دنياي واقعي قضيه به اين سادگي نيست و گاهي برنامه نويس براساس سيستم عامل ابزار خود را انتخاب ميکند. امروزه تقريبا دو بستر متفاوت داريم از طرفي سيستم عاملهاي سرور ويندوز و از طرف ديگر نسخه هاي مختلف لينوکس و يونيکس. ويندوز ابزار رايج و آشنايي براي کاربران و برنامه نويسان است و از طرفي يونيکس سيستم عامل ارزان تر ( و البته حرفه اي) است. در ويندزو عموما ترکيبي از دانت نت،IIS، SQL Server داريم و در يونيکس PHPو Apache و MySql و مشخص است که هزينه نهايي پياده سازي و اجراي يک طراحی وب سایت در ترکيب لينوکسي ارزان تر است.پي اچ پي در ويندوز نيز قابل اجراست وبخصوص در نسخه هاي جديد PHP اين اجرا شکل بهتري نيز گرفته است. در حال حاضر نسخه اوليه از Mono (دات نت در محيط لينوکس) قابل اجرا است اما حداقل به اندازه PHP رايج نيست. از طرفي نيز ASP.NET ترکيب ايده آلي براي کار با ويندوز و IIS است و در واقع هماهنگي و همخواني اين ابزارها در ويندوز (بخصوص اينکه همگي محصول يک شرکت هستند) شايد يکي از بهترين بسترهاي توسعه نرم افزار و  طراحی وب سایت در ويندوز را پديد مي آورند.

 

معماری طراحی وب سایت

 

همانطور که اشاره شد پي اچ پي براي طراحان سايت و گريز از پيچيدگي هاي ابزارها و زبانهاي آن روزگار ايجاد شده است و بنابراين PHP اوليه يک ابزار ساده و نه چندان پيچيده بوده است. البته PHP در اين سالها ارتقاء پيدا کرده است اما هنوز نقصهاي اوليه اي را دارد( مثلا با وجود شي گرايي هنوز دستورات و توابع زيادي از آن ارتباطي با شي خاصي ندارد و يا خاصيتهاي حرفه اي شي گرا را ندارد.). اما دات نت فراتر از يک زبان است و مجموعه از کتابخانه هاي استاندارد و زبانهايي که تقريبا تمام قابليتهاي زبانهاي روز دنيا را دارند. سينکس حرفه اي، استاندارد و جذاب #C و يا سينتکس ساده و کارآمد VB.NET و البته #J و ++C و چند زبان ديگر نيز وجود دارند. دات نت کاملا شي گرا است و معماري آن حرفه اي است و از اين جهت با JAVA (آنرا را با جاوا اسکريپ اشتباه نگيريد) قابل مقايسه است. در واقع از لحاظ معماري JAVA و دانت نت پلاتفرمهايي با معماري Enterprise هستند و PHP زباني ساده با تمرکز براي نوشت اسکريپهاي وب. شرکت ZEND که در حال حاضر Engine اصلي PHP را ارائه ميدهند و برخي شرکتهاي ديگر تلاشهايي براي ارتقاء و ايجاد فريم ورک حرفه اي تري براي PHP دارند اما در کل و از لحاظ مهندسي نرم افزار معماري طراحی وب سایت دات نت برتري محسوسي نسبت به PHP دارد.

در بعد ديگر ابزارهاي کار با دات نت و آموزه ها و پتانسيل دات نت نوشتن نرم افزارهاي با معماري بهتر را امکان پذير ميکند و حتي بصورت پيش فرض معماري چند لايه در دات نت وجود دارد. همچنين نرم افزارهاي مهندسي نرم افزار مانند ابزار CASE Tools ، Rational و... همخواني با دات نت دارند .

يکي از مهمترين تفاوتهاي ASP.NET و PHP در شکل اجراي آنهاست. در PHP در هر بار اجراي اسکريپ کدهاي PHP تفسير مي شود ولي در دانت نت يکبار کدها کامپايل مي شوند و در دفعات بعد کدهاي اجرايي هستند که اجرا مي شود. از اين لحاظ بخصوص در نرم افزارهاي تحت وب با حجم کد بالا اجراي کدهاي کامپايل شده به مراتب سرعت بيشتري خواهند داشت. البته شرکتهاي مختلفي براي PHP ابزارهاي accelerator و caching نوشته اند اما به هر حال در دات نت اينکار بصورت ذاتي و بدون نرم افزار خاص ديگري انجام مي گيرد.

 

 

 

 

اگر قرار باشد فقط چند خط براي نوشتن در صفحه يا گرفتن پارامتري از کاربر داشته باشيم مطمئنا نوشتن با PHP ساده تر و سريعتر خواهد بود. اما هدف دات نت تسريع در نوشتن سايتهاي بزرگ با فرمها و اطلاعات متعدد است. در ASP.NET از طراحی وب سایت که web form ناميده مي شوند تا حتي دسترسي به بانک اطلاعات و ماهيتهاي مختلف اطلاعات، نمايش اطلاعات (مانند جداول) ابزارهاي بصري وجود دارند که اين در نهايت کار را بسيار ساده تر ميکند همچنين برخي مسائل را به راحتي ميتوان به فريم ورک دانت نت سپرد (مانند Caching، اعتبار سنجي اطلاعات ورودي authentication و...) همچنين استفاده از کتابخانه غني دانت نت باعث مي شود که نياز چنداني به استفاده از کتابخانه توابع خارجي نباشد که اين در توسعه نرم افزار بصورت تيمي و پشتيباني يک مزيت به شمار مي رود. البته در PHP نيز ابزارهاي براي تسريع طراحي و نوشتن اسکريپتها وجود دارند اما هر کدام براي شرکتهاي مختلفي است و شکل کار متفاوت است.

 

سرعت اجراي نرم افزار

 

همانطور که اشاره شده  طراحی وب سایت و کدهاي ASP.NET کامپايل مي شوند و قابل حدس است سرعت اجراي آنها نسبت به اجراي اسکريپت PHP بيشتر است و البته اين کاملا درست است. اما در واقع شرايط به همين سادگي نيست. در اسکريپتهاي PHP مفسر سريعا کدهايي که بايستي تفسير شوند را اجرا کرده و خروجي را مرورگر کاربر مي فرستند. اما در ASP.NET به غير از کدهاي نوشته شده توسط برنامه نويس چندين ماژول در لايه هاي ديگري نيز اجرا مي شوند. (مثلا تنظيمات را ميخوانند. خروحي کنترلهاي وب فرمها را توليد (Generate) ميکنند،اعتبار سنجيها را انجام ميدهند) و اينها در سرعت اجرا موثر خواهند بود(البته امکاناتي برا حذف و بهبود سرعت وجود دارد) بنابراين با توجه به تجربه شخصي در اسکريپتهاي ساده (در حد چند ده خط) و تعداد دفعات اجراي معمول سرعت اجراي PHP و ASP.NET آنقدرها اهميت خاص ندارد. توجه کنيد که به هر حال نرم افزارهاي بر تسريع اجراي PHP نيز وجود دارند. اما در اجراي نرم افزارهاي بزرگتر مانند web application هايي که از دهها يا صدها کلاس و لايه هاي مختلف تشکيل شده اند مطمئنا برتري با نرم افزارهاي کامپايل شده خواهد بود. البته ميدانيد که در نسخه هاي کامپايل شده نيازي به قرار دادن سورس کدها د طراحی وب سایت يا ارائه آن به مشتري نيست که اين قضيه براي بسياري شرکتها (بخصوص براي حمايت از حقوق نرم افزار و همچنين امنيت) يک مزيت به حساب مي ايد.

 

يادگيري

 

پي اچ پي با هدف اوليه سادگي براي استفاده و يادگيري نوشته شده است و تاکنون نيز هدف را منظور کرده است بنابراين ميتوان به سادگي گفت که يادگيري و استفاده از PHP ساده تر از ASP.NET (حتي با وجود زباني با سينتکس ساده VB.NET) است.استفاده از ASP.NET نيازمند آشنايي با مفهوم اوليه شي گرايي و همجنين پيچيدگيهاي خاص دانت (مثل رويدادهاي اجراي طراحی وب سایت به جاي اجراي خطي) است. در واقع يادگيري و استفاده از ASP کلاسيک ساده تر از ASP.NET و قابل قياس با يادگيري PHP است. عموما طراحان وب سايت به دليل سادگي استفاده و يادگيري PHP آنرا فرا ميگيرند و برنامه نويسان حرفه اي و مهندسان نرم افزار هم علاقه بيشتر به دات نت و JAVA دارند.

همچنين يک نکته قابل توجه در PHP وجود هزاران خط کد و اسکريپت آماده به زبان PHP است که تقريبا در هر زمينه اي وجود دارند (از کارهاي ساده با بانک اطلاعاتي تا کار با تصاوير،سوکتها، وب سرويسها، XML و ...) اين قضيه باعث شده بسياري از برنامه نويسان PHP به جاي نوشتن کدها بسياري اوقات اسکرپيتهاي آماده موجود در اينترنت را سر هم کنند و به هدف خود برسند و يا شيوه کار را فرا بگيرند. البته کم کم در مورد دانت نيز اين قضيه در حال اتفاق است و سايتهايي که کدهاي نمونه يا نرم افزارهاي آماده با سورس ارائه ميکنند در حال افزايش هستند.

 

بازار کار

 

دو معيار براي سنجش بازار کار وجود دارد يکي سايتهاي خارجي و ديگري بازار ايران، اگر نگاهي به ساده به سايتهاي کاريابي خارجي مانند (مونستر يا Yahoo Job) داشته باشيد خواهيد ديد که هم براي برنامه نويسان PHP و هم براي ASP.NET موقعيتهاي شغلي وجود دارد اما نکته قابل توجه حقوق بالاتر و همچنين شرکتهاي معتبري هستند که براي استخدام برنامه نويسان ASP.NET آگهي داده اند.

در ايران نيز عموما شرکتهاي معتبر نرم افزاري ( که به شکل سنتي در پلاتفرم وابسته به ويندوز) فعاليت مي کنند علاقه مند به استخدام برنامه نويسان ASP.NET هستند. و شرکتهايي که روي ترجمه،ارائه ابزارهاي پشتيبان يا تغييرات روي نرم افزارهاي Open Source معروف خارجي کار ميکنند و يا نيازمند به پياده سازي سايتهايي در لينوکس هستند علاقمند به استخدام برنامه نويسان PHP هستند. اگرچه اين يک نظر شخصي است اما براساس تجربه شخصي حقوق برنامه نويسان ASP.NET در ايران نيز در مقايسه بيشتر است.

شايد سوال پيش آيد که چرا با وجود برخي برتريهاي ASP.NET همچنان تعداد زيادي برنامه نويس PHP و نرم افزارهاي  طراحی وب سایت با اين زبان نوشته مي شود. يکي از مهمترين دلايل آن همانطور که قبلا اشاره شد ارزاني کار با ترکيب PHP و لينوکس است که به آن اختصارا LAMP گفته مي شود. اجرا و طراحي يک وب در بستر ويندوز با در نظرگرفتن هزينه لايسنس ويندوز سرور، SQL Server و محيط توسعه Visual Studio در قياس با ارزاني و حتي رايگان بودن سيستم عامل لينوکس و MYSql و محيطهاي توسعه PHP دليل مهمي براي انتخاب ترکيب PHP و لينوکس بخصوص براي برنامه نويسان مستقل در خارج از کشور است. اما قاعدتا در مورد پروژه اي بزرگ و شرکتهاي بزرگ نرم افزاري اين هزينه ها آنقدر قابل توجه نيست و بنابراين اين شرکتها استفاده از پلاتفرمهاي حرفه اي تر مانند JAVA و دات نت را انتخاب مي کنند.

 

کداميک را انتخاب کنيم؟

 

انتخاب يک ابزار يا بستر توسعه نرم افزار (يا وب سايت) همانطور که گفته شد بايستي براساس نياز نرم افزار يا وب سايت باشد. بطور مثال اگر لازم است  طراحی وب سایت در سرور لينوکس اجرا شود و يا در آينده سايت از يک محيط (مثل ويندوز به يونيکس) منتقل شود با توجه به شرايط روز شايد بهتر باشد PHP انتخاب شود. اگر قرار است پروژه اي بزرگ با استفاده ازمتدها و ابزارهاي مهندسي نرم افزار پياده سازي شود باشد و هزينه اجرا ارجحيت نخست نيست شايد ASP.NET گزينه بهتري باشد. در عين حال فکر ميکنم دانشجويان و مهندسان نرم افزار ايراني با توجه به بازار خوبي که در خارج از کشور و همچنين ايران وجود دارد و اينکه يادگيري دانت فقط پياده سازي صفحات وب نيست و امروز يکي از رايجترين ابزارهاي توسعه نرم افزارهاي تحت ويندوز طراحی وب سایت است يادگيري دات نت را به عنوان يک گزينه مهم بايستي مد نظر داشته باشند

 

برچسب: طراحی وب سایت,طراحی سایت,طراحی وب, نویسنده: mehdi تاريخ: يکشنبه 26 خرداد 1392 ساعت: 15:38

صفحه بندی